# -*- coding: utf-8 -*-
# time: 2025/4/19 10:13
# file: functools_ts2.py
# author: hanson

"""
类似java模板设计模式。

"""
# 装饰器的程序执行顺序
def my_decorator(func):
    def wrapper(*args, **kwargs):
        print("调用函数前的逻辑")
        result = func(*args, **kwargs)  # 调用被装饰的函数
        print("调用函数后的逻辑")
        return result
    return wrapper

@my_decorator
def my_function(a, b, c=None):
    print(f"函数内部: a={a}, b={b}, c={c}")
    return a + b

# 测试
print(my_function(1, 2))  # 输出: 函数内部: a=1, b=2, c=None
print(my_function(3, 4, c=5))  # 输出: 函数内部: a=3, b=4, c=5